#元组、字典、集合、公共操作
#1.元组
'''
元组：不能被修改,不支持删除

元组定义:元素用小括号包围，每个元素之间用逗号隔开，如(1,2,3)

定义单个元组时，在该元素后必须要加一个","。如('aa',)

提高代码编写的安全性
'''
#元组的操作   查询、计数
'''
通过下标进行查找
index() 查找某个数据，如果数据存在则返回对应下标元素，否则报错

count() 统计某个元素在当前元组中出现的次数

len()  统计元组中数据的个数
'''

#元组"可变的"情况
t2 = (10,20,['sixstar','sixstaredu.com','wilia'],40,50)
print(t2)
print(t2[2]) #把中括号看成一个整体，然后通过下标方式取值
print(t2[2][1]) #取到中括号中的下标为1的元素，属于二维数组的思想
t2[2][1]='www.sixstaredu.com' #完成对二维数组中数据的修改
print(t2)
print('-----------\n')
#中括号中的第二层属于列表，而列表是属于可修改数据

#2.字典
'''
字典特性：键值对成对出现，键和值一一对应，绑定关系。

字典数据和数据顺序没有关系，即字典不支持下标，后期无论数据如何变化，只需要按照对应的键查找

字典格式：dic = {'name':'zs','age':18}

定义：符号是大括号，数据为“键值对”形式出现，各个键值对之间以逗号隔开。key:value

重点：key是唯一的，有重复键时，对前面数据进行覆盖写

定义空字典：举例 dict2 ={}  或者函数定义法： dict3 = dict()
'''
#字典常见操作
#改
dict1 = {'name':'willia','age':18,'gender':'女'}
print(dict1)
dict1['name'] = 'sixstar'  #修改操作
print(dict1)
print('-----------\n')

#增
dict1['id'] = 110    #增加键值对
print(dict1)
print('-----------\n')
#小结：键值对，有则覆盖、无则添加。

#删
dict1 = {'name':'willia','age':18,'gender':'女'}
del dict1['gender']  #删除gender键值对
print(dict1)
dict1.clear()  #清空字典
print(dict1)
print('-----------\n')

#查
dict1 = {'name':'willia','age':18,'gender':'女'}
print(dict1['name'])  #通过key值查找

#len()查看数据长度或个数
print(len(dict1))

#keys()查看所有的键
print(dict1.keys())

#values()查看所有的值
print(dict1.values())

#items()查看所有的键值对
print(dict1.items())
